<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
include('modelo.php');

session_start();
if (isset ($_SESSION['username']) ) {
    if ($_GET['idEj']) {
        $idEx = $_GET['idEj'];
        $idProb = $_GET['idProb'];
        $userId = $_SESSION['username'];
        $dif = isGuessing($idProb, $fireGuessing);
        if ($dif > 0) {
            echo "Debe esperar $dif segundos antes de hacer el siguiente envío";
            exit;
        }
        $ans = newSubmission($idEx, $idProb, $userId);
        $idEnvio = $ans[0]; $fname=$ans[1];
        $_SESSION['fname'] = $fname;
        echo "<h2 class=\"title\">Enviar solución</h2>";
        echo "<div style=\"clear: both;\">&nbsp;</div>";
        echo "<div class=\"entry\">";
        echo "<form id=\"subForm\" method=\"post\" onsubmit=\"return beforeSubmission();\" action=\"submissions.php\" enctype=\"multipart/form-data\">\n<table>\n";
        echo "<tr><td>Archivo de salida:</td><td><input type='file' name='outfile' id='outfile' /></td></tr>";
        echo "<tr><td>Código fuente:</td><td><input type='file' name='srcfile' id='srcfile' /></td></tr>";
        echo "</table>\n";
        echo "<input type=\"submit\" value='enviar' name='submission' />";
        echo "</form>\n";
        echo "<div id='timer'> </div>";
        echo "<p class=\"links\"><a href=\"submissions.php?opt=1\" target='_blank'>Descargar Entrada</a></p>";
        echo "</div>";
    }
    if ($_GET['opt']) {
        $opt = $_GET['opt'];
        if ($opt==1 && isset($_SESSION['fname'])) {
            $fname = $_SESSION['fname'];
            $fname = "protected/inout/$fname";
            forceDownload($fname);
        }
        if ($opt == 2) {
            $fname = $_GET['fname'];            
            $fname = "myfiles/$fname";
            echo "Archivo: $fname";
            forceDownload($fname);
        }
    }
    if ($_POST['submission']) {
        $userId = $_SESSION['username'];
        $idEnvio = $_SESSION['idEnvio'];
        $row = executeRow("select idUsuario, HoraIni, tcaseId from Envios where idEnvio=$idEnvio");
        $initTime = strtotime($row['HoraIni']);
        $tcaseId = $row['tcaseId'];
        if ($userId != $row['idUsuario'] || time() > ($initTime + $timeLimit)) {
            echo "Violación de seguridad";
            exit;
        }
        $userFile = $_FILES['outfile']; $srcFile = $_FILES['srcfile'];
        if (!$userFile || !$srcFile) {
            echo "Respuesta Incorrecta, se deben subir ambos archivos";
            exit;
        }
        if ($userFile['size'] > $maxFileSize || $srcFile['size'] > $maxFileSize) {
            echo "Respuesta Incorrecta, los archivos deben ser de menos de $maxFileSize Bytes";
            exit;
        }
        $row = executeRow("select * from TestCases where tcaseId=$tcaseId");
        $problemId = $row['problemId'];
        $outFile = $row['outFile'];
        
        $ans = judgeSubmission($idEnvio, $userFile, $srcFile, $outFile);
        $retLink = "<a href=\"index.php\">Volver</a>";
        if (strcmp($ans, "YES") == 0) {
            echo "<center>Si, respuesta correcta<br/>";
            echo "<img src=\"resources/balloon.jpg\" /><br/>$retLink</center>";
        } else if (strcmp($ans, "NO") == 0) {
            echo "<center>No, respuesta incorrecta<br/>$retLink</center>";
        } else {
            echo "Error en el servidor";
        }
    }
}


?>
